library(tidyverse)
-- Attaching packages --------------------------------------- tidyverse 1.2.1 --
v ggplot2 3.1.0     v purrr   0.2.5
v tibble  2.0.1     v dplyr   0.7.8
v tidyr   0.8.2     v stringr 1.3.1
v readr   1.3.1     v forcats 0.3.0
-- Conflicts ------------------------------------------ tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()
library(plotly)

Attaching package: 㤼㸱plotly㤼㸲

The following object is masked from 㤼㸱package:ggplot2㤼㸲:

    last_plot

The following object is masked from 㤼㸱package:stats㤼㸲:

    filter

The following object is masked from 㤼㸱package:graphics㤼㸲:

    layout
library(crosstalk)
sd <- SharedData$new(txhousing, ~city)
p <- ggplot(sd, aes(date, median)) + geom_line()
gg <- ggplotly(p, tooltip = "city")
# Persistent mode can still be enabled in this case by holding the
# shift key when hovering over lines
bscols(highlight(gg, on = "plotly_hover", dynamic = TRUE),
# Persistent mode can be set permanently like so
highlight(gg, on = "plotly_hover", dynamic = TRUE, persistent = TRUE))
Adding more colors to the selection color palette.
Adding more colors to the selection color palette.
We recommend setting `persistent` to `FALSE` (the default) because persistent selection mode can now be used by holding the shift key (while triggering the `on` event).
Setting the `off` event (i.e., 'plotly_doubleclick') to match the `on` event (i.e., 'plotly_hover'). You can change this default via the `highlight()` function.
Setting the `off` event (i.e., 'plotly_doubleclick') to match the `on` event (i.e., 'plotly_hover'). You can change this default via the `highlight()` function.
Setting the `off` event (i.e., 'plotly_doubleclick') to match the `on` event (i.e., 'plotly_hover'). You can change this default via the `highlight()` function.
Setting the `off` event (i.e., 'plotly_doubleclick') to match the `on` event (i.e., 'plotly_hover'). You can change this default via the `highlight()` function.
LS0tDQp0aXRsZTogImxpbmtpbmcgJiBCcnVzaGluZyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCmBgYHtyfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkoY3Jvc3N0YWxrKQ0KYGBgDQoNCg0KYGBge3J9DQpzZCA8LSBTaGFyZWREYXRhJG5ldyh0eGhvdXNpbmcsIH5jaXR5KQ0KcCA8LSBnZ3Bsb3Qoc2QsIGFlcyhkYXRlLCBtZWRpYW4pKSArIGdlb21fbGluZSgpDQpnZyA8LSBnZ3Bsb3RseShwLCB0b29sdGlwID0gImNpdHkiKQ0KDQojIFBlcnNpc3RlbnQgbW9kZSBjYW4gc3RpbGwgYmUgZW5hYmxlZCBpbiB0aGlzIGNhc2UgYnkgaG9sZGluZyB0aGUNCiMgc2hpZnQga2V5IHdoZW4gaG92ZXJpbmcgb3ZlciBsaW5lcw0KDQpic2NvbHMoaGlnaGxpZ2h0KGdnLCBvbiA9ICJwbG90bHlfaG92ZXIiLCBkeW5hbWljID0gVFJVRSksDQoNCiMgUGVyc2lzdGVudCBtb2RlIGNhbiBiZSBzZXQgcGVybWFuZW50bHkgbGlrZSBzbw0KaGlnaGxpZ2h0KGdnLCBvbiA9ICJwbG90bHlfaG92ZXIiLCBkeW5hbWljID0gVFJVRSwgcGVyc2lzdGVudCA9IFRSVUUpKQ0KYGBgDQoNCg==